home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine CD 1995
/
Archive Magazine CD 1995.iso
/
text
/
hints
/
volume_03
/
issue_01
next >
Wrap
Text File
|
1995-02-16
|
11KB
|
308 lines
• Acorn DTP fonts and print outs − P.J.Burn says that in order to
print out Acorn DTP documents on an A310 you should select mode 11 as
this releases 40k of memory. He also says that in order to increase the
speed of the DTP screen update you should ensure that the font cache is
24k or larger.
3.1
• Acorn DTP double spacing − Some readers have complained that when
starting a new paragraph the Acorn DTP will always produce a double
space. This can be solved by altering the space above setting of the
paragraph’s style.
3.1
• BASIC listings for !Edit − Mark Taylor says that it is easy to
create an ASCII copy of a BASIC program. Just install !Edit in the
normal way and then create a task window (this can be done by clicking
the MENU button on the !Edit icon and selecting the ‘New task window’
item from the ‘Create’ sub-menu). In this window start BASIC by typing
*BASIC, then just LOAD the required program and LIST it. You can now
save the contents of the window as a normal ASCII file.
3.1
• C operating system calls (issue 2.12 p 36 cont) − Ray Loades-Bannon
says that to access OSCLI commands from C you should use either:
3.1
system (“screensave <pathname>””)
3.1
or:
3.1
{3 .1
char *cptr;
3.1
strcpy (cptr,“screensave ”);
3.1
strcat(cptr,pathnameptr);
3.1
system(cptr);
3.1
}
3.1
See the ‘Calling other programs from C’ chapter in the C manual for
further details.
3.1
• Debugger BreakPoints − When stepping though code, it is useful to
run the code up to a breakpoint, and then remove the breakpoint and
reposition it further ahead. Here are three function keys defin-itions
suggested by Robin Terry to help you do this:
3.1
*Key1 “BreakClr PC|MBreakSet ”
3.1
*Key2 “Continue|M”
3.1
*Key3 “MemoryI PC|M”
3.1
The first breakpoint is set by using *BreakSet, but subsequent break
points can be set by pressing <f1> and typing in the address. Then press
<f2> should be pressed to execute the code , and <f3> should be pressed
to look at where you’ve got to.
3.1
• Droom under RISC-OS − A.H.Eagle says that when using Droom under
RISC-OS the $.Data.Map program just caused the computer to freeze at
line 820. This line reads 820 ?&CFF=L, and doesn’t seem to serve any
purpose (perhaps it is a hang-over from the BBC version). He removed
this line and the program now seems to work OK ( ... so far!).
3.1
• Econet and the Desktop − A warning to all people using the desktop
on the network: *commands are truncated to about 80 characters by the
NetFiler, so for example, if you are several directories down and you
rename a file, it could be renamed to something that you didn’t quite
expect. More dangerous is the *Delete, in that you could want to *delete
net#254:<pathname>.FredOld but your good copy is deleted when the
command is truncated to *delete net#254:<pathname>.Fred. Truncation
occurs due to the Acorn fileservers only being able to cope with data
packets of around 80 characters (although the SJ Research fileserver can
handle packets up to 128 characters). Another interesting feature is
that if the *command is over 128 characters, no truncation occurs and a
Net error is generated.
3.1
• Filer_OpenDir revisited (issue 2.12 p 6 cont) − A simpler way of
using system variables with the *Filer_OpenDir command has been
suggested by one of the Archive BBS callers:
3.1
*Set Alias$temp Filer_OpenDir <system variable>|MUnset Alias$temp|M
3.1
*temp
3.1
This sets up a system variable, called Alias$temp, which is used to
expand the system variable and then delete itself once called.
3.1
• Hard Disc Backup program on Careware 3 − Terry Bromilow says: “The
program was originally written to run under Arthur OS using the D or L
format discs. I put a new front end on it to make an application for
RISC-OS and put in some lines to accommodate E format discs. It is now
evident that the latter did not get tested.
3.1
The BASIC program !Hdb_v200 in the !HDBackup directory should be amended
as follows:-
3.1
Interchange the adjacent lines 2140 and 2150 and put a new line between
them: 2141 *DISMOUNT
3.1
• Hard disc parking (2.11 p 13 cont) − Martyn Lovell says that
although *bye from a non-adfs filing system won’t park an adfs hard disc
*adfs:bye will (SCSI hard drive owners should use *scsi:bye).
3.1
• Keyboard condensation − One reader has noted that there is no
lacquer on the top surface of the keyboard PCB. It is not unusual for
people to blow dust, etc away from the keyboard, however, this will
cause condensation onto the PCB and cause some minor corrosion. This can
easily be wiped away.
3.1
• Limited ADFS memory error − The ADFS module will remember the
catalogues of any discs it sees (e.g. those that it *mounts). However,
it is limited to the amount of memory it can allocate to ‘remembering’
these catalogues. This is governed by the *Configure ADFSDirCache
command. When the ADFS directory cache is full, the oldest catalogues
should be discarded as new ones are encountered. Unfortunately, the
module has a bug, which prevents it from doing this properly. What makes
this bug so serious is that it can cause the dreaded ‘Filecore in use’
error, which cannot be rectified, thereby making it impossible for you
to save any data, etc that you might have been working on. (If Phil
Colmer at Acorn, or whoever, could give us a clue on this one, that
would be useful. Ed.)
3.1
• Naming discs − You may already realise that you should not give
discs the same name (using the *NameDisc command) as RISC-OS will only
access one of the discs i.e. the one most recently *MOUNTed. David
Leckie found that this also holds up for fileservers discs. He had two
separate fileservers 254 and 245 both with hard disks called FS, as you
can imagine this cause much confusion!
3.1
• Obey module bug − “Speak and I shall obey ... or maybe not.” There
is a bug in the obey module supplied in the ROMS (v0.07). If an
environment variable is set to a string ending with the tilde character
(~) then the string will magically acquire a few extra characters, or
worse.
3.1
Using Edit, create a new obey file containing the command:
3.1
Set testvariable abcdef~
3.1
or similar, ensuring that the <return> key is pressed immediately after
the tilde (~). Save the file to a directory window and then double click
on the file icon to run the file. This will create the variable
“testvariable”. Press <f12> to get a system prompt and type
3.1
Show testvariable
3.1
to display the variable’s value. It will show some-thing like
3.1
testvariable : abcdef~~&’
3.1
i.e. it has acquired a few extra characters. (N.B. I’ve been unable to
repeat (see below) this so the characters may be wrong − but I do know
where they originate from so this is an educated guess)
3.1
Worse is that depending on the exact situation when the file is run an
“Abort on Data Transfer” error may occur (!!) and the variable will not
have been created.
3.1
The problem is easily solved − don’t try and create a string ending with
~ in an obey file. If necessary a space can be placed after the tilde
(~) and this will be enough to prevent the error. Clifford Hoggarth
3.1
• RAM disc size − To read the size of a RAM disc, not *configured but
set from within the desktop task manager you should use:
3.1
SYS “OS_ReadRAMFsLimits” TO A,B
3.1
(B-A)/1024 gives the size of the the RAM disc in kbytes.
3.1
To check if a *configured ram disc exists then try:
3.1
SYS “OS_Byte”,161,144 To ,,ramdiscsize%
3.1
The variable ramdiscsize% indicates the number of RAM pages to be
allocated to the RAM disc e.g. 8k blocks for a 300 series.
3.1
• Recursive directory copying − If you copy a directory into itself
(as Clive Payne did with his library directory in issue 2.11 p 15) the
computer will get into an infinite loop of copying directories inside of
themselves. To stop the computer from using all your disc space up, you
can press the escape key. The error can then be rectified by going into
the parent directory and deleting its children i.e. you don’t have to
reformat your disc!
3.1
• ROM Speed Up − In several Archive issues (e.g. issue 2.11 p 8) we
have pointed out that the speed at which the Archimedes runs its ROMs
can be increased. Martyn Lovell advises us that this can cause RISC-OS
to crash and so is not very reliable.
3.1
• Squish − I am very pleased with Mike Harrison’s “SQUISH” program (on
Careware disc 2). It enables me to write meaningful, well laid out
programs and then to gain processing speed following compression.
Brilliant!
3.1
I have, however, discovered a bug. This occurs whenever you use a
statement such as:
3.1
IF a=b c=d
3.1
What actually happens is that it compresses to:
3.1
IF a=bc=d
3.1
The program then fails “Unknown or missing variable”. To circumvent
this, the full construct IF ... THEN ... should be used. B.R.Wilson,
Solihull
3.1
• Uncluttering catalogues (2.11 p 13 cont) − If you close down an
application using the ADJUST button the filer will (re)open the viewer
containing the file you last accessed.
3.1
• Using Sys$DateFormat (issue 2.12 p 19 cont) − Mark Taylor (along
with several others) has answered a question which appeared in last
month’s Help!!! column.
3.1
The system variable Sys$DateFormat is only used by the SWI call
OS_ConvertStandardDate AndTime and not by the BASIC pseudo variable
TIME$ (see pp 400-402 of the old PRM for further details).
3.1
10 REM >$.Convert
3.1
20 REM a program to convert TIME &
3.1
DATE in to a string,
3.1
30 REM in the format of the system
3.1
variable Sys$DateFormat
3.1
40 :
3.1
50 REM some workspace for the time
3.1
& date SYS call
3.1
60 DIM block% 100
3.1
70 :
3.1
80 *Set Sys$DateFormat
3.1
%yr%mn%dy%24%mi%se
3.1
90 string$=FNtime_date
3.1
100 PRINT “The time is
3.1
(YYMMDDHHMMSS) = “;string$
3.1
110 END
3.1
120 :
3.1
130 DEFFNtime_date
3.1
140 REM first get 5 byte time code
3.1
150 REM using OS_Word &0E,3
3.1
160 SYS “OS_Word”,&0E,3 TO r0,r1
3.1
170 :
3.1
180 REM get date & time string
3.1
190 SYS “OS_ConvertStandardDate
3.1
AndTime“,block%,block%+50,49
3.1
TO r0,r1,r2
3.1
200 :
3.1
210 REM extract string from data
3.1
block
3.1
220 date$=“”
3.1
230 FOR x%=0 TO (12-r2)
3.1
240 data$+=CHR$(r0?x%)
3.1
250 NEXT x%
3.1
260 =date$
3.1
3.1
• VIDC warning − Someone (Philip Green, I think) sent in a warning to
say that you should NEVER connect and disconnect video and monitor
connections with the computer switched on for fear of damaging the VIDC.
3.1
I have been doing just that for two years now on several different
Archimedes computers and have NEVER had any problems, so I wasn’t going
to bother printing the warning − it seemed a little over cautious. This
morning I connected up a brand new monitor, live as usual, and got a
funny picture. “Drat”, says I, “It’s a DOA and will have to go back to
the distributor from whence it came!” However, further fiddling and
switching of monitors (live) between computers revealed that the
computer was at fault − there were funny dark vertical lines down the
display and the sound was a bit croaky (sound comes through VIDC). This
is what you call learning the hard way or “Pride comes before a fall” or
something. Anyway, don’t say we didn’t warn you! Ed.
3.1
• Hints & Tips printing error, Archive 2.12 p 7. The IF statement at
line 750 is incorrect − a 7 has been cut off by the editor − ‘key% < 5’
should read ‘key% <57’.